/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.guangfeng.yql.comm.util;

import com.guangfeng.yql.comm.bean.PageDomain;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

public class HttpContextUtils {

    public static HttpServletRequest getHttpServletRequest() {
        if (RequestContextHolder.getRequestAttributes() == null) {
            return null;
        }
        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    }

    public static String getDomain() {
        HttpServletRequest request = getHttpServletRequest();
        StringBuffer url = request.getRequestURL();
        return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
    }

    public static PageDomain getPageDomain() {
        HttpServletRequest request = getHttpServletRequest();
        Object pageSize = request.getParameter("pageSize");
        Object pageNum = request.getParameter("pageNum");
        PageDomain domain = new PageDomain();
        try {
            domain.setPageNum(Integer.parseInt(pageNum.toString()));
        } catch (RuntimeException e) {
            domain.setPageNum(1);
        }
        try {
            domain.setPageSize(Integer.parseInt(pageSize.toString()));
        } catch (RuntimeException e) {
            domain.setPageSize(10);
        }
        return domain;
    }

    public static String getOrigin() {
        HttpServletRequest request = getHttpServletRequest();
        return request.getHeader("Origin");
    }

    public static String getAuthenticate() {
        HttpServletRequest request = getHttpServletRequest();
        return request.getHeader("Authenticate");
    }
}
